//
//  AESUtil.h
//  Pthread
//
//  Created by Yanyan Jiang on 2025/3/6.
//  Copyright © 2025 Yanyan Jiang. All rights reserved.
//



#import <Foundation/Foundation.h>

NS_ASSUME_NONNULL_BEGIN

@interface AESUtil : NSObject

/// 生成随机 AES-256 密钥（32字节）
+ (NSData *)generateAES256Key;

/// 生成随机 IV（16字节）
+ (NSData *)generateIV;

/// AES-256-CBC 加密
/// @param data 明文数据
/// @param key AES 密钥（32字节）
/// @param iv 初始化向量（16字节）
+ (NSData * _Nullable)aesEncryptData:(NSData *)data
                            key:(NSData *)key
                             iv:(NSData *)iv;

/// AES-256-CBC 解密
/// @param data 密文数据
/// @param key AES 密钥（32字节）
/// @param iv 初始化向量（16字节）
+ (NSData * _Nullable)aesDecryptData:(NSData *)data
                            key:(NSData *)key
                             iv:(NSData *)iv;

@end

NS_ASSUME_NONNULL_END
